﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FitnessClubManager.GUI.HeThong;
using FitnessClubManager.BLL;
using FitnessClubManager.DAL;
using QuanLyHocPhi.GUI.DuLieu;
namespace FitnessClubManager.GUI
{
    public partial class FormMain : FormBase
    {
        public FormMain()
        {
            InitializeComponent();
        }

        #region Đăng nhập
        private void OnDangNhapClick(object sender, EventArgs e)
        {
            DangNhap();
        }

        public void DangNhap()
        {
            FormDangNhap frm = new FormDangNhap();
            if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                Program.NguoiSuDung = frm.NguoiSuDung;
                if (frm.NguoiSuDung.VaiTro == 2)
                {
                    //backUpToolStripMenuItem.Enabled = true;
                    //backUpToolStripMenuItem.Visible = true;
                }
            }
        }
        #endregion

        #region Đăng xuất
        private void OnDangXuatClick(object sender, EventArgs e)
        {
            DangXuat();
        }

        public void DangXuat()
        {
            Program.NguoiSuDung = null;
        }
        #endregion

        #region Thoát chương trình
        private void OnMenuHeThong_ThoatClick(object sender, EventArgs e)
        {
            ThoatChuongTrinh();
        }

        public void ThoatChuongTrinh()
        {
            this.Close();
        }
        #endregion

        private void OnLoad(object sender, EventArgs e)
        {
            this.WindowState = FormWindowState.Maximized;
            Program.NguoiSuDung = null;
            toolQuanLyKhachHang.Visible = btnTacNghiep.Visible = dữLiệuToolStripMenuItem.Visible = thốngKêToolStripMenuItem.Visible = false;
            //Program.HocKy = null;
            this.DangNhap();
        }

        private void OnMenuHeThong_DoiMatKhauClick(object sender, EventArgs e)
        {
            FormDoiMatKhau frm = new FormDoiMatKhau(Program.NguoiSuDung);
            if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                DialogUtils.ShowMessage("Đổi mật khẩu thành công!");
            frm = null;
        }


        /// <summary>
        /// Cập nhật hiển thị người sử dụng đang làm việc
        /// </summary>
        internal void UpdateNguoiSuDung()
        {
            if (Program.NguoiSuDung == null)
            {
                #region Huỷ đăng nhập
                menuHeThong_DangNhap.Visible =
                    btnDangNhap.Visible = true;
                menuHeThong_DangXuat.Visible =
                    btnDangXuat.Visible =
                    menuHeThong_QuanLyNguoiSuDung.Visible =
                    menuHeThong_DoiMatKhau.Visible = toolRefreshData.Visible = false;
                btnTacNghiep.Visible = dữLiệuToolStripMenuItem.Visible = thốngKêToolStripMenuItem.Visible = false;
                lblStatus.Text = "Chưa đăng nhập";

                #endregion
            }
            else
            {
                #region Thiết lập thông tin người sử dụng
                menuHeThong_DangNhap.Visible =
                    btnDangNhap.Visible = false;
                menuHeThong_DangXuat.Visible =
                    btnDangXuat.Visible =
                    menuHeThong_QuanLyNguoiSuDung.Visible = toolRefreshData.Visible =
                    menuHeThong_DoiMatKhau.Visible = true;
                toolQuanLyKhachHang.Visible = btnTacNghiep.Visible = dữLiệuToolStripMenuItem.Visible = thốngKêToolStripMenuItem.Visible = true;
                //lblStatus.Text = string.Format("Đã đăng nhập vai trò {1} - Tên đăng nhập: {0}",
                //    Program.NguoiSuDung.TenDangNhap,
                //    Program.NguoiSuDung.VaiTroDescription);
                lblStatus.Text = string.Format("Tên đăng nhập: {0}",
                    Program.NguoiSuDung.TenDangNhap);
                menuHeThong_QuanLyNguoiSuDung.Visible = Program.NguoiSuDung.VaiTro == (int)VAITRO.QuanTri;

                #endregion
            }
        }

        private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormThongTinChuongTrinh frm = new FormThongTinChuongTrinh();
            frm.ShowDialog();
        }

        private void menuHeThong_QuanLyNguoiSuDung_Click(object sender, EventArgs e)
        {
            FormQuanLyNguoiSuDung frm = new FormQuanLyNguoiSuDung();
            frm.ShowDialog();
        }

        private void toolTipGuide_Click(object sender, EventArgs e)
        {
            try
            {
                System.Diagnostics.Process.Start(Application.StartupPath + @"\DocumentGuide\HDSD.pdf");
            }
            catch
            {
                MessageBox.Show("File hướng dẫn sử dụng không tồn tại", "Thông báo");
            }
        }

        private void btnTacNghiep_Click(object sender, EventArgs e)
        {
            var frm = new FormTacNghiep();
            //frm.Parent = this;
            frm.ShowDialog();
        }

        private void tủĐồToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormQuanLyTu frm = new FormQuanLyTu();
            frm.ShowDialog();
        }

        private void nướcGiảiKhátToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormNuocGiaiKhat frm = new FormNuocGiaiKhat();
            frm.ShowDialog();
        }

        private void nướcGiảiKhátToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            FormThongKeNuocGiaiKhat frm = new FormThongKeNuocGiaiKhat();
            frm.ShowDialog();
        }

        private void thẻTủToolStripMenuItem_Click(object sender, EventArgs e)
        {
            FormThongKeSanPham frm = new FormThongKeSanPham();
            frm.ShowDialog();
        }

        private void toolQuanLyKhachHang_Click(object sender, EventArgs e)
        {
            FormQuanLyKhachHang frm = new FormQuanLyKhachHang();
            frm.ShowDialog();
        }

        private void toolRefreshData_Click(object sender, EventArgs e)
        {
            int iRet = BizUtility.RefeshData();
            DialogUtils.ShowMessage("Đã làm sạch dữ liệu thành công. \n\rSố lượng dữ liệu thừa: " + iRet);
        }

    }
}
